'use strict'

//引包
const mongodb = require('mongodb')
const mongodbClient = mongodb.MongoClient

//获取数据库的地址
const url = 'mongodb://localhost:27017/myData'

//封装专门获取db对象的函数
function getDB(callback){
    //通过connect方法连接到mongodb数据库上
    mongodbClient.connect(url, (err, db)=>{
        callback(err, db)
    })
}

//封装数据库查询方法，并暴露出去，
//collectionName数据库中的合集， condition限制条件， callback回调函数
exports.findOne = (collectionName, condition, callback)=>{
    //1.获取db对象
    getDB((err, db)=>{
        //2、获取数据库中的合集
        var collection = db.collection(collectionName)
        //3.是mongodb查找方法findOne()去操作数据库，返回结果
        collection.findOne(condition, (err, doc)=>{
            //通过回调函数，将结果返回给控制器，控制器来操作数据doc
            callback(err, doc)
            //断开数据库的链接
            db.close()
        })
    })
}

